In the art of computing, a processor architecture has an address space that is typically larger than the amount of physical memory present in a computer having one or more of the processors implementing the processor architecture. The address space of the processor is virtualized. To manage translations from the virtual address space of the processor to the physical memory, a virtual memory system is used. The virtual memory system stores memory translations in a page table. In a paging memory management scheme, the operating system retrieves data from persistent storage in blocks called pages.
At some point, as memory pages are loaded from persistent storage, physical pages that were previously assigned a translation to virtual memory pages must be selected for replacement so that new memory pages may be loaded. Pages that are candidates for replacement may be managed as classes. For example, it is desirable to select an inactive page for replacement before an active page is selected for replacement.
Another technique known in the art is speculatively prefetching read ahead pages asynchronously from persistent storage into physical memory. Performance is increased because if a page is speculatively prefetched and is later needed, the page is already in memory and processing can continue without the need to fetch the page from persistent storage.